home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Internet / News / Alexandra.0.82 / Source / TextKeyDown.m < prev   
Encoding:
Text File  |  1996-01-30  |  1.0 KB  |  49 lines

  1. #import <appkit/appkit.h>
  2. #import "TextKeyDown.h"
  3.  
  4. @implementation TextKeyDown 
  5.  
  6. - initFrame:(const NXRect *)aRect
  7. {
  8.    NXSize size;
  9.    NXSize s = {1.0E38, 1.0E38};
  10.   
  11.    [super initFrame:aRect];
  12.    [[[self superview] superview] getContentSize:&size];
  13.    [[self superview] setAutoresizeSubviews:YES];
  14.  
  15.  
  16.    [self sizeTo:size.width :size.height];
  17.    [self setEditable:NO];
  18.    [self setMonoFont:NO];
  19.    [self setBackgroundGray:NX_WHITE];
  20.    [self setOpaque:YES];
  21.    [self notifyAncestorWhenFrameChanged: YES];
  22.    [self setVertResizable:YES];
  23.     [self setHorizResizable:NO];
  24.     
  25.     [self setMinSize:&size];
  26.     [self setMaxSize:&s];
  27.     [[self superview] setAutoresizeSubviews:YES];
  28.    [[self superview] setAutosizing:NX_HEIGHTSIZABLE | NX_WIDTHSIZABLE];
  29.  
  30.    return self;
  31. }
  32.  
  33. - keyDown:(NXEvent *)theEvent
  34. {
  35.    int cCode=theEvent->data.key.charCode;
  36.  
  37.    if(![self isEditable])
  38.       if(((cCode>171)&&(cCode<176))||(cCode==32))
  39.          [nextResponder keyDown:theEvent];
  40.       else
  41.            NXBeep();
  42.     else
  43.       [super keyDown:theEvent];
  44.     
  45.    return self;
  46. }
  47.  
  48. @end
  49.